/*
 * analisador.h
 *
 *  Created on: 08/10/2012
 *      Author: wx
 */

#ifndef ANALISADOR_H_
#define ANALISADOR_H_

#include <vector>

class analisador {
private:

	int contchar;
	int tamlinha;
	int linhaatual;
	bool erro;

	string arquivo;
	token novotok;
	vector<token> listatoken;
	vector<token> reservadas;

	void token_linha(string);
	void carregar_reservadas();
	int consumircomentario(string);

	int consumirnumero(string);
	int montartoken(string);
	bool buscareservada(token);
	int consumirsimbsimples(string);
	int consumirduplo(char, string);
	void consumirdesconhecido(string);
	void gera_saida();

public:
	analisador(string arquivo);
	int processar();
	void print(string);
	vector<token> saida_lexico;
};

#endif /* ANALISADOR_H_ */
